﻿using System;

namespace HalconDotNet
{
	// Token: 0x02000092 RID: 146
	internal class HTupleElementsDouble : HTupleElementsImplementation
	{
		// Token: 0x06001EFE RID: 7934 RVA: 0x000B8273 File Offset: 0x000B6473
		internal HTupleElementsDouble(HTupleDouble source, int index) : base(source, index)
		{
		}

		// Token: 0x06001EFF RID: 7935 RVA: 0x000B827D File Offset: 0x000B647D
		internal HTupleElementsDouble(HTupleDouble source, int[] indices) : base(source, indices)
		{
		}

		// Token: 0x06001F00 RID: 7936 RVA: 0x000B866C File Offset: 0x000B686C
		public override double[] getD()
		{
			if (this.indices == null)
			{
				return null;
			}
			double[] array = new double[this.indices.Length];
			for (int i = 0; i < this.indices.Length; i++)
			{
				array[i] = this.source.DArr[this.indices[i]];
			}
			return array;
		}

		// Token: 0x06001F01 RID: 7937 RVA: 0x000B86BC File Offset: 0x000B68BC
		public override void setD(double[] d)
		{
			if (!base.IsValidArrayForSetX(d))
			{
				return;
			}
			bool flag = d.Length == 1;
			for (int i = 0; i < this.indices.Length; i++)
			{
				this.source.DArr[this.indices[i]] = d[flag ? 0 : i];
			}
		}

		// Token: 0x06001F02 RID: 7938 RVA: 0x000B870C File Offset: 0x000B690C
		public override object[] getO()
		{
			if (this.indices == null)
			{
				return null;
			}
			object[] array = new object[this.indices.Length];
			for (int i = 0; i < this.indices.Length; i++)
			{
				array[i] = this.source.DArr[this.indices[i]];
			}
			return array;
		}

		// Token: 0x06001F03 RID: 7939 RVA: 0x000B8761 File Offset: 0x000B6961
		public override HTupleType getType()
		{
			return HTupleType.DOUBLE;
		}
	}
}
